package com.numberone.system.mapper;

import com.numberone.system.domain.Address;
import java.util.List;	

/**
 * 收货地址 数据层
 * 
 * @author numberone
 * @date 2020-09-27
 */
public interface AddressMapper 
{
	/**
     * 查询收货地址信息
     * 
     * @param id 收货地址ID
     * @return 收货地址信息
     */
	public Address selectAddressById(Long id);
	
	/**
     * 查询收货地址列表
     * 
     * @param address 收货地址信息
     * @return 收货地址集合
     */
	public List<Address> selectAddressList(Address address);
	
	/**
     * 新增收货地址
     * 
     * @param address 收货地址信息
     * @return 结果
     */
	public int insertAddress(Address address);
	
	/**
     * 修改收货地址
     * 
     * @param address 收货地址信息
     * @return 结果
     */
	public int updateAddress(Address address);
	
	/**
     * 删除收货地址
     * 
     * @param id 收货地址ID
     * @return 结果
     */
	public int deleteAddressById(Long id);
	
	/**
     * 批量删除收货地址
     * 
     * @param ids 需要删除的数据ID
     * @return 结果
     */
	public int deleteAddressByIds(String[] ids);

	/**
	 * 查询用户地址数
	 * @param userId
	 * @return
	 */
	public int selectCount(Long userId);

	/**
	 * 查询用户默认地址
	 * @return
	 */
	public Address selectDefaultAddress(Long userId);
}